#include <stdint.h>
#ifdef __arm__
typedef struct Context
{
    uint32_t r4;
    uint32_t r5;
    uint32_t r6;
    uint32_t r7;
    uint32_t r8;
    uint32_t r9;
    uint32_t sl; // r10
    uint32_t fp; // r11
    uint32_t sp; // r13
    uint32_t pc; // r15
} Context;

static inline void MakeContext(Context *context, void *stack, void *func)
{
    context->sp = (uint32_t)stack;
    context->fp = (uint32_t)stack;
    context->pc = (uint32_t)func;
}
#else
#error "platform not support"
#endif
